package com.example.service.webhook.business.jingdong.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.math.BigDecimal;

/**
 * @author liyang
 * @email liyang@51dojo.com
 * @create 2017-10-23 下午6:06
 * @description 京东金条还款计划
 **/
@JsonIgnoreProperties(ignoreUnknown = true)
public class JdJinTiaoBillPlan {

    @JsonProperty("mapping_id")
    private String mappingId;

    @JsonProperty("plan_id")
    private String planId;

    @JsonProperty("trade_id")
    private String tradeId;

    @JsonProperty("loan_id")
    private String loanId;

    @JsonProperty("cur_plan_num")
    private int curPlanNum;

    @JsonProperty("plan_num")
    private int planNum;

    @JsonProperty("amount")
    private BigDecimal amount;

    @JsonProperty("pay_amount")
    private BigDecimal payAmount;

    @JsonProperty("over_amount")
    private BigDecimal overAmount;

    @JsonProperty("limit_pay_date")
    private String limitPayDate;

    @JsonProperty("finish_pay_date")
    private String finishPayDate;

    @JsonProperty("status")
    private int status;

    @JsonProperty("plan_created_time")
    private String planCreatedTime;

    @JsonProperty("plan_update_time")
    private String planUpdateTime;

    @JsonProperty("bad_status")
    private int badStatus;

    @JsonProperty("refund_status")
    private int refundStatus;

    @JsonProperty("over_due_status")
    private int overDueStatus;

    @JsonProperty("over_due_days")
    private int overDueDays;

    @JsonProperty("repayment_status")
    private int repaymentStatus;

    @JsonProperty("plan_start_date")
    private String planStartDate;

    @JsonProperty("loan_amount")
    private BigDecimal loanAmount;

    @JsonProperty("due_in_7_days")
    private String dueIn7Days;

    @JsonProperty("is_current_time_plan")
    private String isCurrentTimePlan;

    @JsonProperty("product_name")
    private String productName;

    @JsonProperty("day_amount_base_rate")
    private BigDecimal dayAmountBaseRate;

    @JsonProperty("day_amount_rate")
    private BigDecimal dayAmountRate;

    @JsonProperty("day_amount")
    private BigDecimal dayAmount;

    @JsonProperty("day_amount_discount")
    private BigDecimal dayAmountDiscount;

    @JsonProperty("day_amount_discount_rate")
    private BigDecimal dayAmountDiscountRate;

    @JsonProperty("should_pay_day_amount")
    private BigDecimal shouldPayDayAmount;

    @JsonProperty("day_count")
    private int dayCount;

    @JsonProperty("payed_day_amount")
    private BigDecimal payedDayAmount;

    public String getMappingId() {
        return mappingId;
    }

    public void setMappingId(String mappingId) {
        this.mappingId = mappingId;
    }

    public String getPlanId() {
        return planId;
    }

    public void setPlanId(String planId) {
        this.planId = planId;
    }

    public String getTradeId() {
        return tradeId;
    }

    public void setTradeId(String tradeId) {
        this.tradeId = tradeId;
    }

    public String getLoanId() {
        return loanId;
    }

    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    public int getCurPlanNum() {
        return curPlanNum;
    }

    public void setCurPlanNum(int curPlanNum) {
        this.curPlanNum = curPlanNum;
    }

    public int getPlanNum() {
        return planNum;
    }

    public void setPlanNum(int planNum) {
        this.planNum = planNum;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    public BigDecimal getOverAmount() {
        return overAmount;
    }

    public void setOverAmount(BigDecimal overAmount) {
        this.overAmount = overAmount;
    }

    public String getLimitPayDate() {
        return limitPayDate;
    }

    public void setLimitPayDate(String limitPayDate) {
        this.limitPayDate = limitPayDate;
    }

    public String getFinishPayDate() {
        return finishPayDate;
    }

    public void setFinishPayDate(String finishPayDate) {
        this.finishPayDate = finishPayDate;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getPlanCreatedTime() {
        return planCreatedTime;
    }

    public void setPlanCreatedTime(String planCreatedTime) {
        this.planCreatedTime = planCreatedTime;
    }

    public String getPlanUpdateTime() {
        return planUpdateTime;
    }

    public void setPlanUpdateTime(String planUpdateTime) {
        this.planUpdateTime = planUpdateTime;
    }

    public int getBadStatus() {
        return badStatus;
    }

    public void setBadStatus(int badStatus) {
        this.badStatus = badStatus;
    }

    public int getRefundStatus() {
        return refundStatus;
    }

    public void setRefundStatus(int refundStatus) {
        this.refundStatus = refundStatus;
    }

    public int getOverDueStatus() {
        return overDueStatus;
    }

    public void setOverDueStatus(int overDueStatus) {
        this.overDueStatus = overDueStatus;
    }

    public int getOverDueDays() {
        return overDueDays;
    }

    public void setOverDueDays(int overDueDays) {
        this.overDueDays = overDueDays;
    }

    public int getRepaymentStatus() {
        return repaymentStatus;
    }

    public void setRepaymentStatus(int repaymentStatus) {
        this.repaymentStatus = repaymentStatus;
    }

    public String getPlanStartDate() {
        return planStartDate;
    }

    public void setPlanStartDate(String planStartDate) {
        this.planStartDate = planStartDate;
    }

    public BigDecimal getLoanAmount() {
        return loanAmount;
    }

    public void setLoanAmount(BigDecimal loanAmount) {
        this.loanAmount = loanAmount;
    }

    public String getDueIn7Days() {
        return dueIn7Days;
    }

    public void setDueIn7Days(String dueIn7Days) {
        this.dueIn7Days = dueIn7Days;
    }

    public String getIsCurrentTimePlan() {
        return isCurrentTimePlan;
    }

    public void setIsCurrentTimePlan(String isCurrentTimePlan) {
        this.isCurrentTimePlan = isCurrentTimePlan;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public BigDecimal getDayAmountBaseRate() {
        return dayAmountBaseRate;
    }

    public void setDayAmountBaseRate(BigDecimal dayAmountBaseRate) {
        this.dayAmountBaseRate = dayAmountBaseRate;
    }

    public BigDecimal getDayAmountRate() {
        return dayAmountRate;
    }

    public void setDayAmountRate(BigDecimal dayAmountRate) {
        this.dayAmountRate = dayAmountRate;
    }

    public BigDecimal getDayAmount() {
        return dayAmount;
    }

    public void setDayAmount(BigDecimal dayAmount) {
        this.dayAmount = dayAmount;
    }

    public BigDecimal getDayAmountDiscount() {
        return dayAmountDiscount;
    }

    public void setDayAmountDiscount(BigDecimal dayAmountDiscount) {
        this.dayAmountDiscount = dayAmountDiscount;
    }

    public BigDecimal getDayAmountDiscountRate() {
        return dayAmountDiscountRate;
    }

    public void setDayAmountDiscountRate(BigDecimal dayAmountDiscountRate) {
        this.dayAmountDiscountRate = dayAmountDiscountRate;
    }

    public BigDecimal getShouldPayDayAmount() {
        return shouldPayDayAmount;
    }

    public void setShouldPayDayAmount(BigDecimal shouldPayDayAmount) {
        this.shouldPayDayAmount = shouldPayDayAmount;
    }

    public int getDayCount() {
        return dayCount;
    }

    public void setDayCount(int dayCount) {
        this.dayCount = dayCount;
    }

    public BigDecimal getPayedDayAmount() {
        return payedDayAmount;
    }

    public void setPayedDayAmount(BigDecimal payedDayAmount) {
        this.payedDayAmount = payedDayAmount;
    }
}
